The present invention relates to an encoding apparatus for improving transmission characteristics in a fading channel of a communication system.
Various research and developments have occurred in order to realize multimedia communication for practical use. In particular, developments have been made in mobile terminal communication systems, which have become very popular for transmitting information including data and images, etc. as well as voice information for practical mobile terminal communications.
In such mobile terminal communications, one such system is a CDMA (code division multiple access) system. However, a crucial problem in such mobile terminal communications is that the mobile terminal is not fixed in place. Therefore, a system capable of guaranteeing satisfactory communications is required.
For example, when a mobile terminal is used between high buildings, etc., an electric wave transmitted from a base station to the mobile terminal is received by the mobile terminal after being reflected by various obstacles. Such attenuation is referred to as multi-path fading. Through the multi-path fading, the power of an electric wave received by a mobile terminal frequently changes.
When the electric wave is received in a poor electric power state, the bit error rate of data received can become considerably high. When bit errors occur in an uniformly distributed manner, the errors can be easily corrected. However, if the bit errors occur in bursts, it is more difficult to correct such errors.
Especially, in the next-generation mobile terminal communication system, a high-speed and high-quality transmission is indispensable. To attain such quality, a turbo-code is considered to be a probable candidate for an effective error correction code. Using the turbo-code, the transmission characteristic of the communications system can be significantly improved.
FIG. 6 shows an example of a transmitter for a conventional DS-CDMA system. When an input signal of data and/or voice is input, it is received by a turbo-coder 61, described later, in which a turbo-code is used. In the turbo-encoder 61, the data signal and voice signal are encoded into turbo-codes to put such signals in a correctable state.
The encoded signals are then input to a channel interleaver 62, which is provided to prevent the deterioration in transmission characteristic by the error burst through fading. The channel interleaver 62 randomizes the bit array of input signals and outputs the result.
The signals output from the channel interleaver 62 are then input to a multiplexing unit 64 along with a pilot signal 63 for synchronization of the system. The multiplexing unit 64 multiplexes the signals from the channel interleaver 62 and then inputs the multiplexed output to a modulator 65 (for performing a QPSK modulation in FIG. 6). The signals modulated by the QPSK modulator 65 are transmitted to a spreading unit 66, for processing by spread spectrum modulation, and then transmitted through an antenna 67.
FIG. 7 shows an example of conventional turbo-encoder. A data signal u input to the encoder shown in FIG. 7 is branched. One branched signal is transmitted to a multiplexer 73, and the other to a convolutional coder 70-1 and an interleaver 71. In the convolutional coder 70-1, a convolutional code is generated using a signal string of input data signals u. In the configuration of FIG. 7, an input signal xk is added to a one-bit delay value xkxe2x88x921 and a two-bit value xkxe2x88x922 by an adder. Further, the result is also added again to the 2-bit delay value xkxe2x80x2xe2x88x922, and input as a convolutional code y1k to a puncturing unit 72.
Further, the data signal transmitted to the interleaver 71 is temporarily entered in a matrix, and then read in an order different from the order in which it is written to the matrix. Thus, the data signal output from the interleaver 71 is represented as a bit array different from bit array of the original data signal u. Therefore, after the bit sequence of the data signal is changed at random, the signal is input to a convolutional coder 70-2.
In the convolutional coder 70-2, a similar process as performed in the convolutional coder 70-1 is performed, and a convolutional code is generated. However, a convolutional code output from the convolutional coder 70-2 is obtained by encoding a data signal having a bit sequence randomized by the interleaver 71. Therefore, it is input to the puncturing unit 72 as a convolutional code y2k different from the code output from the convolutional coder 70-1.
The puncturing unit 72 switches the code ylk from the convolutional coder 70-1 and the code y2k from the convolutional coder 70-2 using a predetermined pattern. The switched codes are then input to the multiplexer 73. A typical puncturing method is to alternately switch the code y1k and the code y2k. However, the switching of the codes do not necessarily have to be alternated. The user can appropriately determine the switching mode.
The signal xk and a signal from the puncturing unit 72 are multiplexed by the multiplexer 73 and the result is then output as an encoded signal. The encoded signal output from the multiplexer 73 is interleaved by an interleaver 62. In other words, the encoded signal is read to a matrix, read out at random, and then output. The interleaver 71 of FIG. 7 is provided to make the code y2k from the convolutional coder 70-2 different then the code y1k from the convolutional coder 70-1. The interleaver 71 and the convolutional coder 70-2 are assumed to form an encoder. Further, the interleaver 62 is provided to prevent bursts that occur in a transmission signal.
Since a transmitted signal is obtained by the interleaver 62 randomizing a bit array of the signal, an error burst arising in the signal that could span a plurality of bits is distributed. The error burst can be distributed by a receiving side interleaver 74 for distributing the error into scattered bit errors. This is desirable since a plurality of scattered bit errors can be more easily corrected than an error burst. As a result, an error code rate due to error bursts is reduced.
FIG. 8 illustrates an example of a basic interleaving process. An interleaver includes a plurality of memory units for sequentially storing input data. As shown in FIG. 8, an input data signal is sequentially written bit by bit from the leading bit. For example, the row direction as indicated by the numbers in FIG. 8. After a predetermined length of the data signal has been read, the data signal is then read out, for example, in a column direction. Thus, the bits of the data signal is output randomly. It is not always necessary to read the columns sequentially from the left. It may be better to select and read a column randomly to furthermore randomize the data signals to be output.
In order to randomize a data signal, it is desirable that a larger number of data signals are read and output. Thus, the number of signals that can be changed in output order increases. For example, a packet of data signals can be read and interleaved. In this case, the packet is followed by a tail bit, and the tail bit may or may not be interleaved. When the tail bit is interleaved, it can be similarly read with the other signals forming a matrix as shown in FIG. 8. Unless the tail bit is interleaved, the signals are read from the positions other than those where the tail bit is stored. After all the other data signals have been read, the tail bit is then read in the order it was written, and then added at the end of the output signal.
The interleaver first stores data signals in memory and then reads the data signals out later. Thus, the larger number of data signals to be read, the longer the delay becomes. As a result, when the interleaving process is performed by the interleaver 71 as shown in FIG. 7, the output from the convolutional coder 70-2 is delayed by the amount of the delay of the interleaver 71. Therefore, shift registers, etc. are provided to adjust the output from other encoders, or the timing to directly output the data signal.
Since all of the signals are delayed in the process of interleaving by the interleaver 62 of FIG. 7, there is no need for designing a configuration to adjust the timing with the other signals. However, to more efficiently perform the interleaving process, a larger number of data signals are stored, thereby causing a longer delay.
FIG. 9 shows an example of a conventional decoder. The decoders shown in FIG. 9 are serially connected for sequential decoding. The signal decoded in these decoders is encoded by the encoder shown in FIG. 7. Refer to the operations of these decoders described in the U.S. Pat. No. 5,446,747, which is hereby incorporated by reference.
FIG. 10 shows an image of received electric power when a fading channel is used. In the case of a mobile terminal communications, etc., an error burst may occur due to the influence of fading. In FIG. 10, the receiving power fluctuates greatly with the lapse of time. When the receiving power is high, there is a strong possibility that a signal is correctly received. When the receiving power is low, there is a strong possibility that a large number of error bursts will occur. In the worst case, data cannot be received at all. Normally, to correct bit errors occurring during the transmission of data signals, an error correction encoding process is performed. However, since the conventional error correction decoder is significantly influenced by an error burst, an interleaver is often used to randomize error bursts. That is, the interleaver 62 shown in FIG. 7 is provided after the error correction encoder. The above-described encoder is referred to as a turbo-encoder, and is capable of correcting errors using a well known encoding method.
In the above-described conventional technology, a turbo-encoding process and a channel interleaving process are independently performed. Thus, the error correction decoding process is not efficiently performed. Furthermore, since an interleaver is also provided in the turbo-coder, the delay by the encoding and interleaving processes is about 2N (in this case, N refers to the length of the signal stored in the interleaver). In other words, in the interleaving process, a delay of N occurs in writing a signal to memory having a signal length of N.
Furthermore, another delay of N occurs when reading a signal having the signal length of N is read from the memory. In this case, it is necessary to furthermore improve the transmission characteristic (bit error rate, frame error rate) for a given delay of 2N. This problem is especially serious with services having high requirements, (data etc.).
An object of the present invention is to provide an optimum combination of an encoder and an interleaver by taking the characteristics of a fading channel into account.
These and other objects are met according to the present invention which comprises a first encoding unit for encoding an input signal, a first interleaver unit for interleaving the input signal and the output from the first encoding unit, a second interleaver unit for interleaving the input signal, a second encoding unit for encoding the output from the second interleaver unit and a multiplexing unit for multiplexing an output signal from the first interleaver unit with an output signal from the second encoding unit, and then transmitting the result.
The method according to the present invention also includes the steps of:
(a) Encoding an input signal.
(b) Interleaving the input signal and the signal encoded in step (a).
(c) Interleaving differently the input signal and then encode the signal differently interleaved in step (c). Further, multiplexing a signal obtained in step (b) with an output signal obtained in step (d), and transmitting the result.
The present invention as described above eliminates the channel interleaver required at the output of a conventional encoder in which signals are first multiplexed without an interleaving process and then collectively interleaved by a channel interleaver. According to the present invention, a signal that is multiplexed in the conventional apparatus is first interleaved, multiplexed with another encoded signal, and then transmitted. Therefore, a desired transmission characteristic is obtained by decreasing conventional delay time.